using System;

namespace Work.API.Dtos.DrugManagement
{
    /// <summary>
    /// 药品入库记录DTO（用于药品入库模块）
    /// </summary>
    public class DrugInboundDto
    {
        /// <summary>
        /// 入库记录ID
        /// </summary>
        public int InboundId { get; set; }

        /// <summary>
        /// 药品ID
        /// </summary>
        public int DrugId { get; set; }

        /// <summary>
        /// 药品名称（冗余字段，便于显示）
        /// </summary>
        public string? DrugName { get; set; }

        /// <summary>
        /// 入库数量
        /// </summary>
        public int Quantity { get; set; }

        /// <summary>
        /// 入库单价（本次入库的单价）
        /// </summary>
        public decimal UnitPrice { get; set; }

        /// <summary>
        /// 入库总金额（数量 × 单价）
        /// </summary>
        public decimal TotalAmount { get; set; }

        /// <summary>
        /// 生产日期（批次信息）
        /// </summary>
        public DateTime? ProductionDate { get; set; }

        /// <summary>
        /// 有效日期（批次信息，过期日期）
        /// </summary>
        public DateTime? ExpirationDate { get; set; }

        /// <summary>
        /// 批次号（可选，用于追踪特定批次）
        /// </summary>
        public string? BatchNumber { get; set; }

        /// <summary>
        /// 供应商（可选）
        /// </summary>
        public string? Supplier { get; set; }

        /// <summary>
        /// 入库日期
        /// </summary>
        public DateTime InboundDate { get; set; }

        /// <summary>
        /// 操作人（执行入库操作的人员）
        /// </summary>
        public string? Operator { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
    }
}

